Kali Linux(Debian)代理工具:ProxyChains使用教程 您所在的位置:网站首页 linux ip转换代理 Kali Linux(Debian)代理工具:ProxyChains使用教程

Kali Linux(Debian)代理工具:ProxyChains使用教程

2024-07-14 01:45| 来源: 网络整理| 查看: 265

ProxyChains是一个开源代理工具,能够强制使任何应用的TCP连接使用SOCKS4,SOCKS或者HTTP(S)代理进行连接。首先简单介绍一下ProxyChains的具体操作流程,如下:

 

一、ProxyChains下载与安装

由于Kali Linux系统测试这个系统中已经自带了ProxyChains,因此就不多说了,简单说下:

ProxyChains下载地址:https://github.com/rofl0r/proxychains-ng

 

二、ProxyChains 配置

ProxyChains运行的所有配置都在“/etc/proxychains.conf ”文件中;ProxyChains 配置文件

ProxyChains 配置文件

 

在 [ProxyList] 下面添加代理IP和端口,可以任意添加代理,一行一个记录。

例如,我添加代理IP和端口,如下图:ProxyChains 在 [ProxyList] 下面添加代理IP和端口

 

其它配置项用法如下:

dynamic_chain:该配置项能够通过ProxyList中的每个代理运行流量,如果其中一个代理关闭或者没有响应,它能够自动选择ProxyList中的下一个代理; strict_chain:改配置为ProxyChains的默认配置,不同于dynamic_chain,也能够通过ProxyList中的每个代理运行流量,但是如果ProxyList中的代理出现故障,不会自动切换到下一个。 random_chain:该配置项会从ProxyList中随机选择代理IP来运行流量,如果ProxyList中有多个代理IP,在使用proxychains的时候会使用不同的代理访问目标主机,从而使主机端探测流量更加困难。

 

三、ProxyChains 使用

大致了解了proxychains的配置项之后,可以测试一下proxychains使用代理访问的情况,proxychains使用起来也非常简单,命令形式为:

proxychains

 

1、使用ProxyChains代理访问网站

root@kali:~# proxychains curl https://www.xxx.com

ProxyChains代理访问网站

 

2、接下来,我们可以亲自实践一下sqlmap+proxychains代理的效果。

 

第一步:首先,直接运行sqlmap扫描目标地址,然后在某云上的WAF看到拦截日志及源IP:

sqlmap

 

proxychains

 

第二步:接着,利用proxychains代理sqlmap扫描目标地址,然后在某云上的WAF上能过看到拦截日志及源IP已经变成了代理IP:

proxychains代理sqlmap扫描目标

 

WAF

可以看到攻击IP已经变成了代理IP,所属地区也变成了代理IP的地区,试验成功。

 

四、ProxyChains自动添加代理

接下来就是说说,如何实现ProxyChains自动添加代理?大致分为以下几个步骤:

需要有一个提供免费代理的地址; 解析该地址提供的内容获取代理IP和端口; 将获取的代理IP和端口加入到proxychains.conf配置文件的ProxyList配置项中;

 

免费代理的网站百度或者谷哥就能得到很多答案,例如:

快代理:https://www.kuaidaili.com/free/ ProxyList:https://proxy-list.org/english/index.php;PorxyList是国外的一个提供免费代理的网站,貌似需要翻墙访问,这里我使用快代理提供的IP和端口。

 

唯一需要注意的是:在使用proxychains代理转发过程中,如果目标对象为https,那么需要使用支持SSL/https协议的代理,快代理提供的免费代理均只支持http协议;Proxy List中有支持SSL/HTTPS协议且免费的代理。

 

ProxyChains自动添加代理具体步骤如下:

 

1、访问快代理并解析网页内容获取代理IP和端口;访问快代理并解析网页内容获取代理IP和端口

 

2、将获取的代理IP和端口更新写入ProxyList配置项中;将获取的代理IP和端口更新写入ProxyList配置项中

 

3、查看代理IP是否写入配置文件成功?配置文件更新成功之后,就可以运行该脚本看看效果了,出现如下图结果,代理写入成功。查看代理IP是否写入配置文件成功

 

整个Python脚本代码如下:

#!/usr/bin/python # -*- coding: utf-8 -*- import json import requests import time import os from bs4 import BeautifulSoup url = "https://www.kuaidaili.com/free/" headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36'} def get_proxy_datas(): r = requests.get(url,headers=headers) content = r.content soup = BeautifulSoup(content,'lxml') ips =soup.find_all('td',attrs={'data-title':'IP'}) ports = soup.find_all('td',attrs={'data-title':'PORT'}) print('开始写入代理IP和端口......') write_conf(ips,ports) print("代理ID和端口写入完成,将退出......") def write_conf(ips,ports): for i in range(0,len(ips)): print("--->IP:"+ips[i].string+"PORT:"+ports[i].string+"


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有